¿Qué pasa con cada una de mis funciones? De esta manera, obtengo todos los datos, no solo el nombre de la clase:
var ClassNames = $("#list .names").each(function() { $(this).attr('class'); });Si desea obtener una lista de nombres de clase de elementos, actualice un poco su código:
var ClassNames = []; $("#list .names").each(function() { ClassNames.push($(this).attr('class')); }); console.log(ClassNames); <ul id="list"> <li class="names list-item"></li> </ul>Podría buscar en .map() como este ejemplo:
var ClassNames = $("#list .names").map(function() { return $(this).attr('class'); }).get(); Tuviste 2 problemas, uno de los cuales es que no estás usando el return dentro de tu función. En segundo lugar, incluso con return , .each todavía devolvería los elementos y no la clase '
Manifestación
var ClassNames = $("#list .names").map(function() { return $(this).attr('class'); }).get(); console.log(ClassNames) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="list"> <div class="names test1"></div> <div class="names test2"></div> <div class="names test3"></div> <div class="names test4"></div> </div>